package com.epalmpay.service.activity;

import java.util.List;
import java.util.Map;

import com.epalmpay.dto.activity.ActivityUnroutineInDTO;
import com.epalmpay.dto.activity.RedpackageCouponOutDTO;
import com.epalmpay.dto.activity.RedpackageCouponQueryDTO;
import com.epalmpay.dto.activity.UnroutineInDTO;
import com.epalmpay.dto.activity.UnroutineOutDTO;
import com.epalmpay.dto.system.BaseOutDTO;
import com.epalmpay.dto.activity.*;
import com.epalmpay.entity.Member;
import com.epalmpay.entity.Page;

/***
 * 活动之-动态活动服务类
 * @author tonywu
 *
 */
public interface IActivityUnroutineService {
	
	/**获得动态活动列表
	 * @param
	 * @return
	 * @throws Exception
	 */
	public List<UnroutineOutDTO> getUnroutineList(UnroutineInDTO unroutineInDTO,Page page) throws Exception;


    List<RedpackageCouponOutDTO> listRedpackageCoupon(RedpackageCouponQueryDTO redpackageCouponQueryDTO) throws Exception;

    BaseOutDTO addUnroutine(ActivityUnroutineInDTO activityUnroutineInDTO) throws Exception;

    ActivityUnroutineOutDTO getUnroutineActivity(Long id);

//	ActivityUnroutineOutDTO getUnroutineActivity(ActivityUnroutineInDTO activityUnroutineInDTO);

    BaseOutDTO changeMaxAmount(Map<String, Integer> param);

	ActivityParticipationOutListDTO listPageParticipation(ActivityParticipationQueryDTO activityParticipationQueryDTO);

	BaseOutDTO overUnroutineActivity(ActivityUnroutineInDTO activityUnroutineInDTO);

	//消费送封装 返回JSon字符串列表填充map，成功，返回1，失败返回-1
	public int insertUnroutineSend(Long memberId, Long orderId,Integer activityPlatformType,Map<String, Object> map) throws Exception;

    ActivitySelectiveListOutDTO activitySelective(ActivitySelectiveQueryDTO activitySelectiveQueryDTO);

    ActivityParticipationDetailOutDTO activityParticipationDetail(Long id, Integer sendType);

    //结束动态活动
	public int endUnroutineActivity(Long activityId) throws Exception;
	//结束全部动态活动
    public void endAllExpireUnroutineActivity() throws Exception;
}
